package com.cc.model.convert

import com.cc.model.DatabaseType
import com.cc.model.dto.DatabaseTypeDto
import org.mapstruct.*

@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE, componentModel = MappingConstants.ComponentModel.SPRING)
abstract class DatabaseTypeConvert {

    abstract fun toEntity(databaseTypeDto: DatabaseTypeDto): DatabaseType

    abstract fun toDto(databaseType: DatabaseType): DatabaseTypeDto

    @BeanMapping(nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE)
    abstract fun partialUpdate(databaseTypeDto: DatabaseTypeDto, @MappingTarget databaseType: DatabaseType): DatabaseType
}